package ym.ecrm.core.dao.systemManagement;

import java.util.List;

import ym.ecrm.core.common.util.Pager;
import ym.ecrm.core.dao.base.IEntityDAO;
import ym.ecrm.core.domain.systemManagement.Role;
import ym.ecrm.core.domain.systemManagement.User;
import ym.ecrm.core.dto.systemManagement.RoleQueryConditionDTO;



/**
 * 角色类的数据操作层接口
 * @author Princess
 * @version 1.0
 */
public interface IRoleDAO extends IEntityDAO<Role>{
	
	/**
	 * 分页查询所有角色
	 * @param pageNumber 第几页
	 * @param pageSize 每页显示的条数
	 * @return Pager<Role> 返回分页辅助类Pager，
	 * 					可以通过Pager.getData()得到查询返回结果集list<Role>
	 */
	public Pager<Role> findRoles(int pageNumber, int pageSize);
	
	/**
	 * 查询符合条件的Role
	 * @param queryConditionDTO 查询辅助，包括：roleCode角色编号
	 *        roleName角色名称，buildIn是否内置
	 * @return List<Role> 返回符合条件的List<Role>
	 */
	public List<Role> findRoles(RoleQueryConditionDTO queryConditionDTO);
	
	/**
	 * 条件分页查询
	 * @param queryConditionDTO 查询辅助，包括：roleCode角色编号
	 *        roleName角色名称，buildIn是否内置
	 * @param pageNumber 第几页
	 * @param pageSize 每页显示的条数
	 * @return Pager<Role> 分页类，包括pageNumber，pageSize，totalCount
	 * 					可以通过getDate()方法等到查询到的结果集的List<Role>
	 */
	public Pager<Role> findRoles(RoleQueryConditionDTO queryConditionDTO
			, int pageNumber, int pageSize);
	
}
